/* Common 32-bit and 64-bit function specific options.  */

extern void test_sgx (void)			__attribute__((__target__("sgx")));
extern void test_avx5124fmaps(void)		__attribute__((__target__("avx5124fmaps")));
extern void test_avx5124vnniw(void)		__attribute__((__target__("avx5124vnniw")));
extern void test_avx512vpopcntdq(void)		__attribute__((__target__("avx512vpopcntdq")));

extern void test_avx512vbmi (void)		__attribute__((__target__("avx512vbmi")));
extern void test_avx512ifma (void)		__attribute__((__target__("avx512ifma")));
extern void test_avx512vl (void)		__attribute__((__target__("avx512vl")));
extern void test_avx512bw (void)		__attribute__((__target__("avx512bw")));
extern void test_avx512dq (void)		__attribute__((__target__("avx512dq")));
extern void test_avx512er (void)		__attribute__((__target__("avx512er")));
extern void test_avx512pf (void)		__attribute__((__target__("avx512pf")));
extern void test_avx512cd (void)		__attribute__((__target__("avx512cd")));
extern void test_avx512f  (void)		__attribute__((__target__("avx512f")));
extern void test_avx2 (void)			__attribute__((__target__("avx2")));
extern void test_fma (void)			__attribute__((__target__("fma")));
extern void test_xop (void)			__attribute__((__target__("xop")));
extern void test_fma4 (void)			__attribute__((__target__("fma4")));
extern void test_f16c (void)			__attribute__((__target__("f16c")));
extern void test_avx (void)			__attribute__((__target__("avx")));
extern void test_sse4 (void)			__attribute__((__target__("sse4")));
extern void test_sse4_2 (void)			__attribute__((__target__("sse4.2")));
extern void test_sse4_1 (void)			__attribute__((__target__("sse4.1")));
extern void test_sse4a (void)			__attribute__((__target__("sse4a")));
extern void test_ssse3 (void)			__attribute__((__target__("ssse3")));
extern void test_sse3 (void)			__attribute__((__target__("sse3")));
extern void test_aes (void)			__attribute__((__target__("aes")));
extern void test_sha (void)			__attribute__((__target__("sha")));
extern void test_pclmul (void)			__attribute__((__target__("pclmul")));
extern void test_sse2 (void)			__attribute__((__target__("sse2")));
extern void test_sse (void)			__attribute__((__target__("sse")));
extern void test_3dnowa (void)			__attribute__((__target__("3dnowa")));
extern void test_3dnow (void)			__attribute__((__target__("3dnow")));
extern void test_mmx (void)			__attribute__((__target__("mmx")));
extern void test_rtm (void)			__attribute__((__target__("rtm")));
extern void test_prfchw (void)			__attribute__((__target__("prfchw")));
extern void test_rdseed (void)			__attribute__((__target__("rdseed")));
extern void test_adx (void)			__attribute__((__target__("adx")));
extern void test_prefetchwt1 (void)		__attribute__((__target__("prefetchwt1")));
extern void test_clflushopt (void)		__attribute__((__target__("clflushopt")));
extern void test_xsaves (void)			__attribute__((__target__("xsaves")));
extern void test_xsavec (void)			__attribute__((__target__("xsavec")));
extern void test_xsaveopt (void)		__attribute__((__target__("xsaveopt")));
extern void test_xsave (void)			__attribute__((__target__("xsave")));
extern void test_abm (void)			__attribute__((__target__("abm")));
extern void test_bmi (void)			__attribute__((__target__("bmi")));
extern void test_bmi2 (void)			__attribute__((__target__("bmi2")));
extern void test_lzcnt (void)			__attribute__((__target__("lzcnt")));
extern void test_tbm (void)			__attribute__((__target__("tbm")));
extern void test_popcnt (void)			__attribute__((__target__("popcnt")));
extern void test_cx16 (void)			__attribute__((__target__("cx16")));
extern void test_sahf (void)			__attribute__((__target__("sahf")));
extern void test_movbe (void)			__attribute__((__target__("movbe")));
extern void test_crc32 (void)			__attribute__((__target__("crc32")));
extern void test_fsgsbase (void)		__attribute__((__target__("fsgsbase")));
extern void test_rdrnd (void)			__attribute__((__target__("rdrnd")));
extern void test_mwaitx (void)			__attribute__((__target__("mwaitx")));
extern void test_clzero (void)			__attribute__((__target__("clzero")));
extern void test_pku (void)			__attribute__((__target__("pku")));
extern void test_lwp (void)			__attribute__((__target__("lwp")));
extern void test_hle (void)			__attribute__((__target__("hle")));
extern void test_fxsr (void)			__attribute__((__target__("fxsr")));
extern void test_clwb (void)			__attribute__((__target__("clwb")));

extern void test_cld (void)			__attribute__((__target__("cld")));
extern void test_recip (void)			__attribute__((__target__("recip")));
extern void test_serialize (void)		__attribute__((__target__("serialize")));
extern void test_tsxldtrk (void)		__attribute__((__target__("tsxldtrk")));
extern void test_enqcmd (void)			__attribute__((__target__("enqcmd")));
extern void test_avx512bf16 (void)		__attribute__((__target__("avx512bf16")));
extern void test_avx512vp2intersect (void)	__attribute__((__target__("avx512vp2intersect")));
extern void test_amx_tile (void)		__attribute__((__target__("amx-tile")));
extern void test_amx_int8 (void)		__attribute__((__target__("amx-int8")));
extern void test_amx_bf16 (void)		__attribute__((__target__("amx-bf16")));
extern void test_uintr (void)			__attribute__((__target__("uintr")));
extern void test_hreset (void)			__attribute__((__target__("hreset")));
extern void test_keylocker (void)		__attribute__((__target__("kl")));
extern void test_widekl (void)			__attribute__((__target__("widekl")));
extern void test_avxvnni (void)			__attribute__((__target__("avxvnni")));
extern void test_avx512fp16 (void)		__attribute__((__target__("avx512fp16")));
extern void test_avxifma (void)			__attribute__((__target__("avxifma")));
extern void test_avxvnniint8 (void)		__attribute__((__target__("avxvnniint8")));
extern void test_avxneconvert (void)		__attribute__((__target__("avxneconvert")));
extern void test_cmpccxadd (void)		__attribute__((__target__("cmpccxadd")));
extern void test_amx_fp16 (void)		__attribute__((__target__("amx-fp16")));
extern void test_prefetchi (void)               __attribute__((__target__("prefetchi")));
extern void test_raoint (void)                  __attribute__((__target__("raoint")));

extern void test_no_sgx (void)			__attribute__((__target__("no-sgx")));
extern void test_no_avx5124fmaps(void)		__attribute__((__target__("no-avx5124fmaps")));
extern void test_no_avx5124vnniw(void)		__attribute__((__target__("no-avx5124vnniw")));
extern void test_no_avx512vpopcntdq(void)	__attribute__((__target__("no-avx512vpopcntdq")));

extern void test_no_avx512vbmi (void)		__attribute__((__target__("no-avx512vbmi")));
extern void test_no_avx512ifma (void)		__attribute__((__target__("no-avx512ifma")));
extern void test_no_avx512vl (void)		__attribute__((__target__("no-avx512vl")));
extern void test_no_avx512bw (void)		__attribute__((__target__("no-avx512bw")));
extern void test_no_avx512dq (void)		__attribute__((__target__("no-avx512dq")));
extern void test_no_avx512er (void)		__attribute__((__target__("no-avx512er")));
extern void test_no_avx512pf (void)		__attribute__((__target__("no-avx512pf")));
extern void test_no_avx512cd (void)		__attribute__((__target__("no-avx512cd")));
extern void test_no_avx512f  (void)		__attribute__((__target__("no-avx512f")));
extern void test_no_avx2 (void)			__attribute__((__target__("no-avx2")));
extern void test_no_fma (void)			__attribute__((__target__("no-fma")));
extern void test_no_xop (void)			__attribute__((__target__("no-xop")));
extern void test_no_fma4 (void)			__attribute__((__target__("no-fma4")));
extern void test_no_f16c (void)			__attribute__((__target__("no-f16c")));
extern void test_no_avx (void)			__attribute__((__target__("no-avx")));
extern void test_no_sse4 (void)			__attribute__((__target__("no-sse4")));
extern void test_no_sse4_2 (void)		__attribute__((__target__("no-sse4.2")));
extern void test_no_sse4_1 (void)		__attribute__((__target__("no-sse4.1")));
extern void test_no_sse4a (void)		__attribute__((__target__("no-sse4a")));
extern void test_no_ssse3 (void)		__attribute__((__target__("no-ssse3")));
extern void test_no_sse3 (void)			__attribute__((__target__("no-sse3")));
extern void test_no_aes (void)			__attribute__((__target__("no-aes")));
extern void test_no_sha (void)			__attribute__((__target__("no-sha")));
extern void test_no_pclmul (void)		__attribute__((__target__("no-pclmul")));
extern void test_no_sse2 (void)			__attribute__((__target__("no-sse2")));
extern void test_no_sse (void)			__attribute__((__target__("no-sse")));
extern void test_no_3dnowa (void)		__attribute__((__target__("no-3dnowa")));
extern void test_no_3dnow (void)		__attribute__((__target__("no-3dnow")));
extern void test_no_mmx (void)			__attribute__((__target__("no-mmx")));
extern void test_no_rtm (void)			__attribute__((__target__("no-rtm")));
extern void test_no_prfchw (void)		__attribute__((__target__("no-prfchw")));
extern void test_no_rdseed (void)		__attribute__((__target__("no-rdseed")));
extern void test_no_adx (void)			__attribute__((__target__("no-adx")));
extern void test_no_prefetchwt1 (void)		__attribute__((__target__("no-prefetchwt1")));
extern void test_no_clflushopt (void)		__attribute__((__target__("no-clflushopt")));
extern void test_no_xsaves (void)		__attribute__((__target__("no-xsaves")));
extern void test_no_xsavec (void)		__attribute__((__target__("no-xsavec")));
extern void test_no_xsaveopt (void)		__attribute__((__target__("no-xsaveopt")));
extern void test_no_xsave (void)		__attribute__((__target__("no-xsave")));
extern void test_no_abm (void)			__attribute__((__target__("no-abm")));
extern void test_no_bmi (void)			__attribute__((__target__("no-bmi")));
extern void test_no_bmi2 (void)			__attribute__((__target__("no-bmi2")));
extern void test_no_lzcnt (void)		__attribute__((__target__("no-lzcnt")));
extern void test_no_tbm (void)			__attribute__((__target__("no-tbm")));
extern void test_no_popcnt (void)		__attribute__((__target__("no-popcnt")));
extern void test_no_cx16 (void)			__attribute__((__target__("no-cx16")));
extern void test_no_sahf (void)			__attribute__((__target__("no-sahf")));
extern void test_no_movbe (void)		__attribute__((__target__("no-movbe")));
extern void test_no_crc32 (void)		__attribute__((__target__("no-crc32")));
extern void test_no_fsgsbase (void)		__attribute__((__target__("no-fsgsbase")));
extern void test_no_rdrnd (void)		__attribute__((__target__("no-rdrnd")));
extern void test_no_mwaitx (void)		__attribute__((__target__("no-mwaitx")));
extern void test_no_clzero (void)		__attribute__((__target__("no-clzero")));
extern void test_no_pku (void)			__attribute__((__target__("no-pku")));
extern void test_no_lwp (void)			__attribute__((__target__("no-lwp")));
extern void test_no_hle (void)			__attribute__((__target__("no-hle")));
extern void test_no_fxsr (void)			__attribute__((__target__("no-fxsr")));
extern void test_no_clwb (void)			__attribute__((__target__("no-clwb")));

extern void test_no_cld (void)			__attribute__((__target__("no-cld")));
extern void test_no_recip (void)		__attribute__((__target__("no-recip")));
extern void test_no_serialize (void)		__attribute__((__target__("no-serialize")));
extern void test_no_tsxldtrk (void)		__attribute__((__target__("no-tsxldtrk")));
extern void test_no_enqcmd (void)		__attribute__((__target__("no-enqcmd")));
extern void test_no_avx512bf16 (void)		__attribute__((__target__("no-avx512bf16")));
extern void test_no_avx512vp2intersect (void)	__attribute__((__target__("no-avx512vp2intersect")));
extern void test_no_amx_tile (void)		__attribute__((__target__("no-amx-tile")));
extern void test_no_amx_int8 (void)		__attribute__((__target__("no-amx-int8")));
extern void test_no_amx_bf16 (void)		__attribute__((__target__("no-amx-bf16")));
extern void test_no_uintr (void)		__attribute__((__target__("no-uintr")));
extern void test_no_hreset (void)		__attribute__((__target__("no-hreset")));
extern void test_no_keylocker (void)		__attribute__((__target__("no-kl")));
extern void test_no_widekl (void)		__attribute__((__target__("no-widekl")));
extern void test_no_avxvnni (void)		__attribute__((__target__("no-avxvnni")));
extern void test_no_avx512fp16 (void)		__attribute__((__target__("no-avx512fp16")));
extern void test_no_avxifma (void)		__attribute__((__target__("no-avxifma")));
extern void test_no_avxvnniint8 (void)		__attribute__((__target__("no-avxvnniint8")));
extern void test_no_avxneconvert (void)		__attribute__((__target__("no-avxneconvert")));
extern void test_no_cmpccxadd (void)            __attribute__((__target__("no-cmpccxadd")));
extern void test_no_amx_fp16 (void)		__attribute__((__target__("no-amx-fp16")));
extern void test_no_prefetchi (void)            __attribute__((__target__("no-prefetchi")));
extern void test_no_raoint (void)               __attribute__((__target__("no-raoint")));

extern void test_arch_nocona (void)		__attribute__((__target__("arch=nocona")));
extern void test_arch_core2 (void)		__attribute__((__target__("arch=core2")));
extern void test_arch_corei7 (void)		__attribute__((__target__("arch=corei7")));
extern void test_arch_corei7_avx (void)		__attribute__((__target__("arch=corei7-avx")));
extern void test_arch_core_avx2 (void)		__attribute__((__target__("arch=core-avx2")));
extern void test_arch_silvermont (void)		__attribute__((__target__("arch=silvermont")));
extern void test_arch_goldmont (void)		__attribute__((__target__("arch=goldmont")));
extern void test_arch_goldmont_plus (void)	__attribute__((__target__("arch=goldmont-plus")));
extern void test_arch_tremont (void)		__attribute__((__target__("arch=tremont")));
extern void test_arch_sierraforest (void)       __attribute__((__target__("arch=sierraforest")));
extern void test_arch_grandridge (void)		__attribute__((__target__("arch=grandridge")));
extern void test_arch_knl (void)		__attribute__((__target__("arch=knl")));
extern void test_arch_knm (void)		__attribute__((__target__("arch=knm")));
extern void test_arch_skylake (void)		__attribute__((__target__("arch=skylake")));
extern void test_arch_skylake_avx512 (void)	__attribute__((__target__("arch=skylake-avx512")));
extern void test_arch_cannonlake (void)		__attribute__((__target__("arch=cannonlake")));
extern void test_arch_icelake_client (void)	__attribute__((__target__("arch=icelake-client")));
extern void test_arch_icelake_server (void)	__attribute__((__target__("arch=icelake-server")));
extern void test_arch_cascadelake (void)	__attribute__((__target__("arch=cascadelake")));
extern void test_arch_tigerlake (void)          __attribute__((__target__("arch=tigerlake")));
extern void test_arch_cooperlake (void)         __attribute__((__target__("arch=cooperlake")));
extern void test_arch_sapphirerapids (void)	__attribute__((__target__("arch=sapphirerapids")));
extern void test_arch_alderlake (void)          __attribute__((__target__("arch=alderlake")));
extern void test_arch_rocketlake (void)         __attribute__((__target__("arch=rocketlake")));
extern void test_arch_graniterapids (void)	__attribute__((__target__("arch=graniterapids")));
extern void test_arch_lujiazui (void)			__attribute__((__target__("arch=lujiazui")));
extern void test_arch_k8 (void)			__attribute__((__target__("arch=k8")));
extern void test_arch_k8_sse3 (void)		__attribute__((__target__("arch=k8-sse3")));
extern void test_arch_opteron (void)		__attribute__((__target__("arch=opteron")));
extern void test_arch_opteron_sse3 (void)	__attribute__((__target__("arch=opteron-sse3")));
extern void test_arch_athlon64 (void)		__attribute__((__target__("arch=athlon64")));
extern void test_arch_athlon64_sse3 (void)	__attribute__((__target__("arch=athlon64-sse3")));
extern void test_arch_athlon_fx (void)		__attribute__((__target__("arch=athlon-fx")));
extern void test_arch_amdfam10 (void)		__attribute__((__target__("arch=amdfam10")));
extern void test_arch_barcelona (void)		__attribute__((__target__("arch=barcelona")));
extern void test_arch_bdver1 (void)		__attribute__((__target__("arch=bdver1")));
extern void test_arch_bdver2 (void)		__attribute__((__target__("arch=bdver2")));
extern void test_arch_bdver3 (void)		__attribute__((__target__("arch=bdver3")));
extern void test_arch_znver1 (void)             __attribute__((__target__("arch=znver1")));
extern void test_arch_znver2 (void)             __attribute__((__target__("arch=znver2")));
extern void test_arch_znver3 (void)             __attribute__((__target__("arch=znver3")));
extern void test_arch_znver4 (void)             __attribute__((__target__("arch=znver4")));

extern void test_tune_nocona (void)		__attribute__((__target__("tune=nocona")));
extern void test_tune_core2 (void)		__attribute__((__target__("tune=core2")));
extern void test_tune_corei7 (void)		__attribute__((__target__("tune=corei7")));
extern void test_tune_corei7_avx (void)		__attribute__((__target__("tune=corei7-avx")));
extern void test_tune_core_avx2 (void)		__attribute__((__target__("tune=core-avx2")));
extern void test_tune_lujiazui (void)			__attribute__((__target__("tune=lujiazui")));
extern void test_tune_k8 (void)			__attribute__((__target__("tune=k8")));
extern void test_tune_k8_sse3 (void)		__attribute__((__target__("tune=k8-sse3")));
extern void test_tune_opteron (void)		__attribute__((__target__("tune=opteron")));
extern void test_tune_opteron_sse3 (void)	__attribute__((__target__("tune=opteron-sse3")));
extern void test_tune_athlon64 (void)		__attribute__((__target__("tune=athlon64")));
extern void test_tune_athlon64_sse3 (void)	__attribute__((__target__("tune=athlon64-sse3")));
extern void test_tune_athlon_fx (void)		__attribute__((__target__("tune=athlon-fx")));
extern void test_tune_amdfam10 (void)		__attribute__((__target__("tune=amdfam10")));
extern void test_tune_barcelona (void)		__attribute__((__target__("tune=barcelona")));
extern void test_tune_bdver1 (void)		__attribute__((__target__("tune=bdver1")));
extern void test_tune_bdver2 (void)		__attribute__((__target__("tune=bdver2")));
extern void test_tune_bdver3 (void)		__attribute__((__target__("tune=bdver3")));
extern void test_tune_generic (void)		__attribute__((__target__("tune=generic")));
extern void test_tune_znver1 (void)             __attribute__((__target__("tune=znver1")));
extern void test_tune_znver2 (void)             __attribute__((__target__("tune=znver2")));
extern void test_tune_znver3 (void)             __attribute__((__target__("tune=znver3")));
extern void test_tune_znver4 (void)             __attribute__((__target__("tune=znver4")));

extern void test_fpmath_sse (void)		__attribute__((__target__("sse2,fpmath=sse")));
extern void test_fpmath_387 (void)		__attribute__((__target__("sse2,fpmath=387")));
extern void test_fpmath_sse_387 (void)		__attribute__((__target__("sse2,fpmath=sse+387")));
extern void test_fpmath_387_sse (void)		__attribute__((__target__("sse2,fpmath=387+sse")));
extern void test_fpmath_both (void)		__attribute__((__target__("sse2,fpmath=both")));
